#if !defined(AFX_COLORLISTCTRL_H__9D7E3D93_05AC_11D4_9AFC_0050049B9A03__INCLUDED_)
#define AFX_COLORLISTCTRL_H__9D7E3D93_05AC_11D4_9AFC_0050049B9A03__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// ColorListCtrl.h : header file
//

const COLORREF WHITE = RGB(255, 255, 255);
const COLORREF BLACK = RGB(1, 1, 1);

const COLORREF DKGRAY = RGB(128, 128, 128);
const COLORREF LTGRAY = RGB(192, 192, 192);

const COLORREF YELLOW = RGB(255, 255, 0);
const COLORREF DKYELLOW = RGB(128, 128, 0);

const COLORREF RED = RGB(255, 0, 0);
const COLORREF RED2 = RGB(254,74,74);
const COLORREF DKRED = RGB(128, 0, 0);

const COLORREF BLUE = RGB(0, 0, 255);
const COLORREF CLOUDBLUE = RGB(128, 184, 223);
const COLORREF DKBLUE = RGB(0, 0, 128);

const COLORREF CYAN = RGB(0, 255, 255);
const COLORREF DKCYAN = RGB(0, 128, 128);

const COLORREF GREEN = RGB(0, 255, 0);
const COLORREF DKGREEN = RGB(0, 128, 0);

const COLORREF MAGENTA = RGB(255, 0, 255);
const COLORREF DKMAGENTA = RGB(128, 0, 128); 

const COLORREF YELLOW2 = RGB(240,240,0);
const COLORREF YELLOW3 = RGB(231,229,170);

const COLORREF BLUE2 = RGB(159,173,214);
const COLORREF BLUE3 = RGB(78,119,241);
const COLORREF BLUE4 = RGB(84,84,199);
const COLORREF BLUE5 = RGB(157,178,241);
const COLORREF BLUE6 = RGB(190,203,242);
/////////////////////////////////////////////////////////////////////////////
// CColorListCtrl window

#define _USE_CLIST_ANDREW

typedef struct  
{
    COLORREF mfc;
    COLORREF mbc;
} CColorListCtrl_info;

class CColorListCtrl : public CListCtrl
{
// Construction
public:
    CColorListCtrl();

// Attributes
public:
    enum EHighlight { HIGHLIGHT_NORMAL, HIGHLIGHT_ALLCOLUMNS, HIGHLIGHT_ROW};
    bool m_nUseLParamAsColor;

    bool mcustomc;

protected:
    int m_nHighlight;    // Indicate type of selection highlighting

// Operations
public:
#ifdef _USE_CLIST_ANDREW
    CColorListCtrl_info mcinfo;
#else
    void RepaintSelectedItems(void);
    int SetHighlightType(EHighlight hilite);
#endif
// Overrides
    // ClassWizard generated virtual function overrides
    //{{AFX_VIRTUAL(CColorListCtrl)
#ifdef _USE_CLIST_ANDREW

#else
    virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);
#endif
//    virtual void OnPaint();
    //}}AFX_VIRTUAL

// Implementation
public:
    virtual ~CColorListCtrl();

    // Generated message map functions
protected:
    //{{AFX_MSG(CColorListCtrl)
#ifdef _USE_CLIST_ANDREW
    afx_msg void OnNMCustomdraw(NMHDR *pNMHDR, LRESULT *pResult);

#else
    afx_msg void OnPaint();
    afx_msg void OnKillFocus(CWnd* pNewWnd);
    afx_msg void OnSetFocus(CWnd* pOldWnd);
#endif
    //}}AFX_MSG

    DECLARE_MESSAGE_MAP()
public:
};

/////////////////////////////////////////////////////////////////////////////

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_COLORLISTCTRL_H__9D7E3D93_05AC_11D4_9AFC_0050049B9A03__INCLUDED_)
